home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / Tools / vg-2.03 / video / keymap.c < prev    next >
Encoding:
C/C++ Source or Header  |  1995-05-03  |  4.5 KB  |  150 lines

  1. /*
  2.  * Copyright (C) 1990-1992 Michael Davidson.
  3.  * All rights reserved.
  4.  *
  5.  * Permission to use, copy, modify, and distribute this software
  6.  * and its documentation for any purpose and without fee is hereby
  7.  * granted, provided that the above copyright notice appear in all
  8.  * copies and that both that copyright notice and this permission
  9.  * notice appear in supporting documentation.
  10.  *
  11.  * This software is provided "as is" without express or implied warranty.
  12.  */
  13.  
  14. /*
  15.  * keyboard mapping tables
  16.  */
  17.  
  18. #include    "kbd.h"
  19.  
  20. #define    F1    FUNC(1)
  21. #define    F2    FUNC(2)
  22. #define    F3    FUNC(3)
  23. #define    F4    FUNC(4)
  24. #define    F5    FUNC(5)
  25. #define    F6    FUNC(6)
  26. #define    F7    FUNC(7)
  27. #define    F8    FUNC(8)
  28. #define    F9    FUNC(9)
  29. #define    F10    FUNC(10)
  30.  
  31. #define    C(x)    CTRL(x)
  32. #define    A(x)    ALT(x)
  33. #define    S(x)    SHIFT(x)
  34.  
  35. /*
  36.  * map PC extended key codes to function key values
  37.  */
  38. unsigned short extkeymap[256] =
  39. {
  40. /*00*/    0,    0,    0,    0,    0,    0,    0,    0,
  41.     0,    0,    0,    0,    0,    0,    0,    0,
  42. /*10*/    0,    0,    0,    0,    0,    0,    0,    0,
  43.     0,    0,    0,    0,    0,    0,    0,    0,
  44. /*20*/    0,    0,    0,    0,    0,    0,    0,    0,
  45.     0,    0,    0,    0,    0,    0,    0,    0,
  46. /*30*/    0,    0,    0,    0,    0,    0,    0,    0,
  47.     0,    0,    0,    F1,    F2,    F3,    F4,    F5,
  48. /*40*/    F6,    F7,    F8,    F9,    F10,    0,    0,    K_HOME,
  49.     K_UP,    K_PG_UP,K_MINUS,K_LEFT,    K_5,    K_RIGHT,K_PLUS,    K_END,
  50. /*50*/    K_DOWN,    K_PG_DN,K_INS,    K_DEL,    S(F1),    S(F2),    S(F3),    S(F4),
  51.     S(F5),    S(F6),    S(F7),    S(F8),    S(F9),    S(F10),    C(F1),    C(F2),
  52. /*60*/    C(F3),    C(F4),    C(F5),    C(F6),    C(F7),    C(F8),    C(F9),    C(F10),
  53.     A(F1),    A(F2),    A(F3),    A(F4),    A(F5),    A(F6),    A(F7),    A(F8),
  54. /*70*/    A(F9),    A(F10), 0,    0,    0,    0,    0,    0,
  55.     0,    0,    0,    0,    0,    0,    0,    0,
  56. /*80*/    0,    0,    0,    0,    0,    0,    0,    0,
  57.     0,    0,    0,    0,    0,    0,    0,    0,
  58. /*90*/    0,    0,    0,    0,    0,    0,    0,    0,
  59.     0,    0,    0,    0,    0,    0,    0,    0,
  60. /*A0*/    0,    0,    0,    0,    0,    0,    0,    0,
  61.     0,    0,    0,    0,    0,    0,    0,    0,
  62. /*B0*/    0,    0,    0,    0,    0,    0,    0,    0,
  63.     0,    0,    0,    0,    0,    0,    0,    0,
  64. /*C0*/    0,    0,    0,    0,    0,    0,    0,    0,
  65.     0,    0,    0,    0,    0,    0,    0,    0,
  66. /*D0*/    0,    0,    0,    0,    0,    0,    0,    0,
  67.     0,    0,    0,    0,    0,    0,    0,    0,
  68. /*E0*/    0,    0,    0,    0,    0,    0,    0,    0,
  69.     0,    0,    0,    0,    0,    0,    0,    0,
  70. /*F0*/    0,    0,    0,    0,    0,    0,    0,    0,
  71.     0,    0,    0,    0,    0,    0,    0,    0,
  72. };
  73.  
  74. /*
  75.  * Function key string table for the SCO UNIX console driver
  76.  * 
  77.  * A string table is used to generate escape sequences for the
  78.  * function keys that can easily be translated into PC extended
  79.  * codes. This is preferable to putting the console driver itself
  80.  * into extended keycode mode since that has a number of side
  81.  * effects (including changing the screen switch keys from Alt Fn
  82.  * to Ctrl Alt Fn).
  83.  *
  84.  * The escape byte used is 0xff and the second byte is the extended
  85.  * code.
  86.  */
  87. unsigned char kbstrmap[512] =
  88. {
  89.     0xff, 0x3b, 0x00,    /* F1        */
  90.     0xff, 0x3c, 0x00,    /* F2        */
  91.     0xff, 0x3d, 0x00,    /* F3        */
  92.     0xff, 0x3e, 0x00,    /* F4        */
  93.     0xff, 0x3f, 0x00,    /* F5        */
  94.     0xff, 0x40, 0x00,    /* F6        */
  95.     0xff, 0x41, 0x00,    /* F7        */
  96.     0xff, 0x42, 0x00,    /* F8        */
  97.     0xff, 0x43, 0x00,    /* F9        */
  98.     0xff, 0x44, 0x00,    /* F10        */
  99.     0xff, 0xff, 0x00,    /* F11        */
  100.     0xff, 0xff, 0x00,    /* F12        */
  101.     0xff, 0x54, 0x00,    /* Shift F1    */
  102.     0xff, 0x55, 0x00,    /* Shift F2    */
  103.     0xff, 0x56, 0x00,    /* Shift F3    */
  104.     0xff, 0x57, 0x00,    /* Shift F4    */
  105.     0xff, 0x58, 0x00,    /* Shift F5    */
  106.     0xff, 0x59, 0x00,    /* Shift F6    */
  107.     0xff, 0x5a, 0x00,    /* Shift F7    */
  108.     0xff, 0x5b, 0x00,    /* Shift F8    */
  109.     0xff, 0x5c, 0x00,    /* Shift F9    */
  110.     0xff, 0x5d, 0x00,    /* Shift F10    */
  111.     0xff, 0xff, 0x00,    /* Shift F11    */
  112.     0xff, 0xff, 0x00,    /* Shift F12    */
  113.     0xff, 0x5e, 0x00,    /* Ctrl F1    */
  114.     0xff, 0x5f, 0x00,    /* Ctrl F2    */
  115.     0xff, 0x60, 0x00,    /* Ctrl F3    */
  116.     0xff, 0x61, 0x00,    /* Ctrl F4    */
  117.     0xff, 0x62, 0x00,    /* Ctrl F5    */
  118.     0xff, 0x63, 0x00,    /* Ctrl F6    */
  119.     0xff, 0x64, 0x00,    /* Ctrl F7    */
  120.     0xff, 0x65, 0x00,    /* Ctrl F8    */
  121.     0xff, 0x66, 0x00,    /* Ctrl F9    */
  122.     0xff, 0x67, 0x00,    /* Ctrl F10    */
  123.     0xff, 0xff, 0x00,    /* Ctrl F11    */
  124.     0xff, 0xff, 0x00,    /* Ctrl F12    */
  125.     0xff, 0x68, 0x00,    /* Ctrl Shift F1    */
  126.     0xff, 0x69, 0x00,    /* Ctrl Shift F2    */
  127.     0xff, 0x6a, 0x00,    /* Ctrl Shift F3    */
  128.     0xff, 0x6b, 0x00,    /* Ctrl Shift F4    */
  129.     0xff, 0x6c, 0x00,    /* Ctrl Shift F5    */
  130.     0xff, 0x6d, 0x00,    /* Ctrl Shift F6    */
  131.     0xff, 0x6e, 0x00,    /* Ctrl Shift F7    */
  132.     0xff, 0x6f, 0x00,    /* Ctrl Shift F8    */
  133.     0xff, 0x70, 0x00,    /* Ctrl Shift F9    */
  134.     0xff, 0x71, 0x00,    /* Ctrl Shift F10    */
  135.     0xff, 0xff, 0x00,    /* Ctrl Shift F11    */
  136.     0xff, 0xff, 0x00,    /* Ctrl Shift F12    */
  137.     0xff, 0x47, 0x00,    /* Keypad 7 - Home    */
  138.     0xff, 0x48, 0x00,    /* Keypad 8 - Up    */
  139.     0xff, 0x49, 0x00,    /* Keypad 8 - Page Up    */
  140.     0xff, 0x4a, 0x00,    /* Keypad -        */
  141.     0xff, 0x4b, 0x00,    /* Keypad 8 - Left    */
  142.     0xff, 0x4c, 0x00,    /* Keypad 5        */
  143.     0xff, 0x4d, 0x00,    /* Keypad 8 - Right    */
  144.     0xff, 0x4e, 0x00,    /* Keypad +        */
  145.     0xff, 0x4f, 0x00,    /* Keypad 8 - End    */
  146.     0xff, 0x50, 0x00,    /* Keypad 8 - Down    */
  147.     0xff, 0x51, 0x00,    /* Keypad 8 - Page Down    */
  148.     0xff, 0x52, 0x00,    /* Keypad 8 - Insert    */
  149. };
  150.